package com.easylinkin.sm.permission;

import java.util.List;

/**
 * 区域权限
 *
 * @author TianGanLin
 * @since 1.0.0, 2019/10/16
 */
public interface AreaPermission {

  /**
   * 设置所属区域
   *
   * <p>查询指定区域下的数据
   *
   * @param ids 区域ID
   */
  AreaPermission area(Long... ids);

  /**
   * 设置所属区域
   *
   * <p>查询指定区域下的数据
   *
   * @param ids 区域ID
   */
  AreaPermission area(List<Long> ids);

  /**
   * 设置所属区域
   *
   * <p>查询当前角色管辖区域下的数据
   */
  AreaPermission currentArea();

  /**
   * 是否深度遍历
   *
   * <p>通常表示查询子集
   */
  AreaPermission deep();
}
